home *** CD-ROM | disk | FTP | other *** search
/ ring.yamanashi.ac.jp/pub/pc/freem/action/ / action.zip / shottank.zip / SHOTE‚s‚`‚m‚j / hsptmp.i < prev    next >
Text File  |  2004-03-19  |  17KB  |  874 lines

  1. ##0 "hspdef.as"
  2.  
  3.  
  4.  
  5.  
  6.  
  7.  
  8.  
  9.  
  10.  
  11.  
  12.  
  13.  
  14.  
  15.  
  16.  
  17.  
  18.  
  19.  
  20.  
  21.  
  22.  
  23.  
  24.  
  25.  
  26.  
  27.  
  28.  
  29.  
  30.  
  31.  
  32.  
  33.  
  34.  
  35.  
  36.  
  37.  
  38.  
  39.  
  40.  
  41.  
  42.  
  43.  
  44.  
  45.  
  46.  
  47.  
  48.  
  49.  
  50.  
  51.  
  52.  
  53.  
  54.  
  55.  
  56.  
  57.  
  58.  
  59. ##0 "TANK.as"
  60. ##0 "hgimg.as"
  61.  
  62.  
  63.  
  64.  
  65.  
  66. #uselib "hgimg.dll"
  67. #func _hgini hgini 2
  68. #func hgsrc hgsrc 2
  69. #func hgdst hgdst 2
  70. #func hgdraw hgdraw 0
  71. #func hgsync hgsync 2
  72. #func hgbye hgbye $100
  73. #func getsync getsync 1
  74. #func sync sync 0
  75. #func getdebug getdebug 1
  76. #func hgsetreq hgsetreq 0
  77. #func hggetreq hggetreq 1
  78.  
  79. #func setborder setborder 0
  80. #func clscolor clscolor 0
  81. #func clstex clstex 0
  82. #func setfont setfont 0
  83. #func fprt fprt 6
  84.  
  85. #func objset1 objset1 0
  86. #func objadd1 objadd1 0
  87. #func objmov1 objmov1 0
  88. #func objsetf1 objsetf1 0
  89. #func objaddf1 objaddf1 0
  90. #func objmovf1 objmovf1 0
  91. #func objcheck objcheck 1
  92. #func objmovmode objmovmode 0
  93. #func objmovopt objmovopt 0
  94.  
  95. #func objset2 objset2 0
  96. #func objadd2 objadd2 0
  97. #func objmov2 objmov2 0
  98. #func objsetf2 objsetf2 0
  99. #func objaddf2 objaddf2 0
  100. #func objmovf2 objmovf2 0
  101.  
  102. #func objset3 objset3 0
  103. #func objadd3 objadd3 0
  104. #func objmov3 objmov3 0
  105. #func objsetf3 objsetf3 0
  106. #func objaddf3 objaddf3 0
  107. #func objmovf3 objmovf3 0
  108.  
  109. #func selmoc selmoc 0
  110. #func selpos selpos 0
  111. #func selang selang 0
  112. #func selscale selscale 0
  113. #func seldir seldir 0
  114.  
  115. #func objgetfv objgetfv 1
  116. #func objgetv objgetv 1
  117. #func objsetfv objsetfv 1
  118. #func objsetv objsetv 1
  119. #func objaddfv objaddfv 1
  120. #func objmovfv objmovfv 1
  121. #func objgetstr objgetstr 1
  122. #func objact objact 0
  123.  
  124. #func fvset fvset 1
  125. #func fvseti fvseti 1
  126. #func fvadd fvadd 1
  127. #func fvsub fvsub 1
  128. #func fvmul fvmul 1
  129. #func fvdiv fvdiv 1
  130. #func fvdir fvdir 1
  131. #func fvget fvget 1
  132. #func fvmin fvmin 1
  133. #func fvmax fvmax 1
  134. #func fvouter fvouter 1
  135. #func fvinner fvinner 1
  136. #func fvunit fvunit 1
  137. #func fvface fvface 1
  138. #func fv2str fv2str $11
  139. #func f2str f2str $11
  140. #func str2f str2f 5
  141. #func str2fv str2fv 5
  142. #func f2i f2i 1
  143. #func fsin fsin 1
  144. #func fcos fcos 1
  145. #func fsqr fsqr 1
  146. #func fadd fadd 1
  147. #func fsub fsub 1
  148. #func fmul fmul 1
  149. #func fdiv fdiv 1
  150. #func fcmp fcmp 1
  151. #func froti froti 1
  152.  
  153. #func setuv setuv 0
  154. #func setsizef setsizef 0
  155. #func setbg setbg 0
  156. #func getbg getbg $83
  157. #func setmap setmap 0
  158. #func addbox addbox 1
  159. #func addplate addplate 1
  160. #func addspr addspr 1
  161. #func addbg addbg 1
  162. #func regobj regobj 1
  163. #func delobj delobj 0
  164. #func setobjm setobjm 0
  165. #func uvanim uvanim 0
  166. #func setmode setmode 0
  167. #func settimer settimer 0
  168. #func setobjmode setobjmode 0
  169. #func setcoli setcoli 0
  170. #func getcoli getcoli 1
  171. #func findobj findobj 0
  172. #func nextobj nextobj 1
  173.  
  174. #func evmodel evmodel 0
  175. #func setmtex setmtex 0
  176. #func getmtex getmtex 1
  177.  
  178. #func cammode cammode 0
  179. #func selcam selcam 0
  180. #func selcpos selcpos 0
  181. #func selcang selcang 0
  182. #func selcint selcint 0
  183.  
  184. #func copybuf copybuf 2
  185.  
  186. #func mxsend mxsend 1
  187. #func mxconv mxconv 1
  188. #func mxaconv mxaconv 1
  189. #func mxgetpoly mxgetpoly 1
  190. #func mxgetname mxgetname 1
  191. #func settex settex 2
  192. #func gettex gettex 1
  193.  
  194. #func addmesh addmesh 1
  195.  
  196.  
  197.  
  198.  
  199. #func modelmovef modelmovef 0
  200. #func modelshade modelshade 0
  201. #func dxfconv dxfconv 1
  202. #func dxfgetpoly dxfgetpoly 1
  203. #func objscanf2 objscanf2 1
  204. #func objscan2 objscan2 1
  205. #func mxsave mxsave 6
  206. #func setmchild setmchild 0
  207. #func setmsibling setmsibling 0
  208. #func getmchild getmchild 1
  209. #func getmsibling getmsibling 1
  210. #func setmfv setmfv 1
  211. #func getmfv getmfv 1
  212. #func getmodel getmodel 1
  213. #func putmodel putmodel 1
  214. #func dupnode dupnode $83
  215. #func gettree gettree 1
  216. #func hgreset hgreset 2
  217. #func mxtex mxtex 1
  218. #func setmuv setmuv 1
  219. #func getmuv getmuv 1
  220. #func nodemax nodemax 1
  221. #func getmpoly getmpoly 1
  222. #func setmpoly setmpoly 1
  223.  
  224. #func objset1r objset1r 0
  225. #func objmov1r objmov1r 0
  226. #func objset2r objset2r 0
  227. #func objmov2r objmov2r 0
  228. #func objset3r objset3r 0
  229. #func objmov3r objmov3r 0
  230.  
  231. #func sellight sellight 0
  232. #func sellpos sellpos 0
  233. #func sellang sellang 0
  234. #func sellcolor sellcolor 0
  235. #func selefx selefx 0
  236. #func falpha falpha 0
  237. #func setcolor setcolor 0
  238. #func clsblur clsblur 0
  239.  
  240.  
  241.  
  242.  
  243.  
  244.  
  245.  
  246.  
  247.  
  248.  
  249.  
  250.  
  251.  
  252.  
  253.  
  254.  
  255.  
  256.  
  257.  
  258.  
  259.  
  260.  
  261.  
  262.  
  263.  
  264.  
  265.  
  266.  
  267.  
  268.  
  269.  
  270.  
  271.  
  272.  
  273.  
  274.  
  275.  
  276.  
  277.  
  278.  
  279.  
  280.  
  281.  
  282.  
  283.  
  284.  
  285.  
  286.  
  287.  
  288.  
  289.  
  290.  
  291.  
  292.  
  293.  
  294.  
  295.  
  296.  
  297.  
  298.  
  299.  
  300.  
  301.  
  302.  
  303.  
  304.  
  305.  
  306.  
  307.  
  308. goto *_HGIMG_exit
  309.  
  310. #deffunc hgini int,int
  311.  
  312.  
  313.  
  314. mref p1@hgimg,0
  315. mref p2@hgimg,1
  316. mref bm@hgimg,67
  317. hgmode@hgimg = bm@hgimg.3
  318. _hgini hgmode@hgimg,p1@hgimg,p2@hgimg
  319. return
  320.  
  321.  
  322. #deffunc texload str
  323.  
  324.  
  325.  
  326. mref fn@hgimg,32
  327. buffer 3,100,100,hgmode@hgimg
  328. picload fn@hgimg
  329. settex winx,winy
  330. if stat : dialog "Texture Error("+stat+")" : return
  331. return
  332.  
  333.  
  334. #deffunc texloadbg str
  335.  
  336.  
  337.  
  338. mref fn@hgimg,32
  339. buffer 3,100,100,hgmode@hgimg
  340. picload fn@hgimg
  341. clstex
  342. settex winx,winy,1
  343. if stat : dialog "Texture Error("+stat+")" : return
  344. return
  345.  
  346.  
  347. #deffunc mxload str
  348.  
  349.  
  350.  
  351. mref fn@hgimg,32
  352. mref _mdid@hgimg,64
  353. fname@hgimg = fn@hgimg+".mx"
  354. exist fname@hgimg
  355. if strsize<0 : dialog "file error ["+fname@hgimg+"]" : end
  356. sdim buf@hgimg,strsize
  357. s1@hgimg=""
  358. bload fname@hgimg,buf@hgimg
  359. mxsend buf@hgimg
  360. buffer 3,100,100,hgmode@hgimg
  361. repeat
  362. mxgetname s1@hgimg,cnt : if s1@hgimg="" : break
  363. exist s1@hgimg+".bmp"
  364. if strsize<0 : dialog "No file ["+s1@hgimg+"]" : end
  365. texload s1@hgimg+".bmp"
  366. loop
  367. mxconv mdid        
  368. mxgetpoly polys    
  369. sdim buf@hgimg,64
  370. _mdid@hgimg = mdid
  371. return
  372.  
  373.  
  374. #deffunc maload str
  375.  
  376.  
  377. mref fn@hgimg,32
  378. fname@hgimg = fn@hgimg+".ma"
  379. exist fname@hgimg
  380. if strsize<0 : dialog "file error ["+fname@hgimg+"]" : end
  381. sdim buf@hgimg,strsize
  382. bload fname@hgimg,buf@hgimg
  383. mxaconv buf@hgimg
  384. sdim buf@hgimg,64
  385. return
  386.  
  387.  
  388. #deffunc dxfload str
  389.  
  390.  
  391.  
  392. mref fn@hgimg,32
  393. mref _mdid@hgimg,64
  394. fname@hgimg = fn@hgimg+".dxf"
  395. exist fname@hgimg
  396. if strsize<0 : dialog "file error ["+fname@hgimg+"]" : end
  397. sdim buf@hgimg,strsize
  398. s1@hgimg=""
  399. bload fname@hgimg,buf@hgimg
  400. dxfconv buf@hgimg
  401. mdid = stat
  402. dxfgetpoly polys    
  403. _mdid@hgimg = mdid
  404. return
  405.  
  406.  
  407.  
  408. *_hgimg_exit
  409.  
  410. ##1 "hsptmp"
  411. title "SHOT TANK" 
  412.  
  413. chgdisp 1
  414. bgscr 2,640,480,0        
  415. cls 4
  416. hgsetreq  5,1    
  417. hgsetreq  7,640        
  418. hgsetreq  8,480    
  419. hgini
  420. randomize:âXâeü[âW=0:âRâôâeâBâjâàü[=3
  421. *start 
  422. hgreset 
  423.  
  424. font "élér âSâVâbâN",40
  425. ÄwÆΦ=0:sdim ìÇû┌,20,6
  426. s=0
  427. ìÇû┌="GAME START","EXIT"
  428. buffer 14,0,0:picload "zyunnbi.bmp":buffer 13,0,0:picload "make.bmp":buffer 12,0,0:picload "win.bmp"
  429. buffer 9,0,0:picload "sute-zi1.bmp":buffer 10,0,0:picload "sute-zi11.bmp":buffer 11,0,0:picload "sute-zi12.bmp"
  430. buffer 8,0,0:picload "taitoru.bmp":buffer 4,0,0:picload "me-ta.bmp":buffer 5,0,0:picload "me-ta2.bmp"
  431. buffer 6,0,0:picload "me-ta3.bmp":buffer 7,0,0:picload "me-ta4.bmp"
  432. buffer 15,0,0:picload "sute-zi2.bmp":buffer 16,0,0:picload "sute-zi21.bmp":buffer 17,0,0:picload "sute-zi22.bmp"
  433. buffer 18,0,0:picload "sute-zi3.bmp":buffer 19,0,0:picload "sute-zi31.bmp":buffer 20,0,0:picload "sute-zi32.bmp"
  434. buffer 21,0,0:picload "sute-zi4.bmp":buffer 22,0,0:picload "sute-zi41.bmp":buffer 23,0,0:picload "sute-zi42.bmp"
  435. buffer 24,0,0:picload "sute-zi5.bmp":buffer 25,0,0:picload "sute-zi51.bmp":buffer 26,0,0:picload "sute-zi52.bmp"
  436. buffer 27,0,0:picload "sute-zi.bmp":buffer 28,0,0:picload "sute-zi7.bmp":buffer 29,0,0:picload "sute-zi8.bmp"
  437. sndload "music.mid",0,1:sndload "baku.wav",3 :sndload "baku2.wav",4:sndload "music2.mid",5,1:sndload "music5.mid",8,1
  438. sndload "music3.mid",6,1:sndload "music4.mid",7,1:sndload "music6.mid",10,1:sndload "music7.mid",11,1
  439.  
  440. setsizef 4.5f,4.5f :setuv 0,0,79,79:addplate mdex,1:texload "baku.bmp":uvanim mdex,2,8,1
  441. setsizef 1.5f,1.5f :setuv 0,0,94,94
  442. addplate mdey,1
  443. texload "kemu.bmp"
  444. uvanim mdey,2,10,1
  445. setsizef 10.5f,10.5f :setuv 0,0,79,79
  446. addplate mdez,1
  447. texload "baku.bmp"
  448. uvanim mdez,4,8,1
  449.  
  450. if âXâeü[âW=0{mxload "eria" 
  451. regobj bgchr,stat, $4000 
  452. selpos bgchr:objset3 0, 0, 0}
  453. if âXâeü[âW=1{mxload "eria2" 
  454. regobj bgchr,stat, $4000 
  455. selpos bgchr:objset3 0, 0, 0}
  456. if âXâeü[âW=2{mxload "eria3" 
  457. regobj bgchr,stat, $4000 
  458. selpos bgchr:objset3 0, 0, 0}
  459. if âXâeü[âW=3{mxload "eria4" 
  460. regobj bgchr,stat, $4000 
  461. selpos bgchr:objset3 0, 0, 0}    
  462. if âXâeü[âW=4{mxload "eria5" 
  463. regobj bgchr,stat, $4000 
  464. selpos bgchr:objset3 0, 0, 0}
  465. if âXâeü[âW=5{mxload "eria6" 
  466. regobj bgchr,stat, $4000 
  467. selpos bgchr:objset3 0, 0, 0}    
  468. mxload "tank1":model=stat 
  469. regobj mychr,model:setcoli mychr,1,8 
  470. selpos mychr:objset3 50, 0, 0 
  471. if âXâeü[âW=0{mxload "tank2":model=stat 
  472. regobj mychr2,model, 32:setcoli mychr2,2,4 
  473. selpos mychr2:objset3 -50, 0, 0}
  474. if âXâeü[âW=1{mxload "tank3":model=stat 
  475. regobj mychr2,model, 32:setcoli mychr2,2,4 
  476. selpos mychr2:objset3 -50, 0, 0} 
  477. if âXâeü[âW=2{mxload "tank4":model=stat 
  478. regobj mychr2,model, 32:setcoli mychr2,2,4 
  479. selpos mychr2:objset3 -50, 0, 0} 
  480. if âXâeü[âW=3{mxload "tank5":model=stat 
  481. regobj mychr2,model, 32:setcoli mychr2,2,4 
  482. selpos mychr2:objset3 -50, 0, 0} 
  483. if âXâeü[âW=4{mxload "tank6":model=stat 
  484. regobj mychr2,model, 32:setcoli mychr2,2,4 
  485. selpos mychr2:objset3 -50, 0, 0} 
  486. if âXâeü[âW=5{mxload "tank7":model=stat 
  487. regobj mychr2,model:setcoli mychr2,2,4 
  488. selpos mychr2:objset3 0, 0, 0}
  489.  
  490. setuv 0,0,99,99:setsizef 3.0f, 3.0f 
  491. addplate ball1,1:texload "tama1.bmp" 
  492. if âXâeü[âW=0{addplate ball2,1:texload "tama2.bmp" 
  493. }
  494. if âXâeü[âW=1{setuv 0,0,64,64:setsizef 2.5f, 2.5f 
  495. addplate ball2,1:texload "tama3.bmp"
  496. }
  497. if âXâeü[âW=2{setuv 0,0,100,100:setsizef 4.5f, 4.5f 
  498. addplate ball2,1:texload "tama4.bmp"
  499. }
  500. if âXâeü[âW=3{setuv 0,0,100,100:setsizef 3.0f, 3.0f 
  501. addplate ball2,1:texload "tama5.bmp"
  502. }
  503. if âXâeü[âW=4{setuv 0,0,100,100:setsizef 1.5f, 1.5f 
  504. addplate ball2,1:texload "tama6.bmp"
  505. }
  506. if âXâeü[âW=5{setuv 0,0,100,100:setsizef 1.0f, 1.0f 
  507. addplate ball2,1:texload "tama7.bmp"
  508. }
  509. if âXâeü[âW=5{setuv 0,0,100,100:setsizef 8.5f, 8.5f 
  510. addplate ball3,1:texload "tama8.bmp"
  511. }
  512. snd 5
  513. if âXâeü[âW!=0:goto *é═é╢é▀
  514. *â^âCâgâïëµû╩
  515. gsel 2
  516. stick key,ÿAÄ╦*10,1
  517. if s>150 {
  518. ÄwÆΦ+=(key&8>0)-(key&2>0)
  519. if ÄwÆΦ<0:ÄwÆΦ=1
  520. if ÄwÆΦ>1:ÄwÆΦ=0
  521. if key&16:on ÄwÆΦ goto *storyâüâCâô,*exit
  522. }
  523. s+2
  524. repeat 6
  525. strlen Æ╖,ìÇû┌.cnt
  526. palcolor -(cnt=ÄwÆΦ)*200+255
  527. pos -8*10+320,cnt*40+350
  528. mes ìÇû┌.cnt
  529. loop
  530. pos 20,20:gzoom 600,300,8,0,0,400,s
  531. if s>155:s=155
  532. redraw 1:redraw 0:await 40:palcolor:boxf
  533. goto *â^âCâgâïëµû╩
  534.  
  535. *storyâüâCâô
  536. wait 50
  537. cls 4
  538. goto *é═é╢é▀
  539.  
  540.  
  541. *exit
  542. goto *owari
  543.  
  544. *é═é╢é▀
  545. gsel 2
  546. cls 4
  547. sndoff
  548. if âRâôâeâBâjâàü[=0{âXâeü[âW=0:goto *start
  549. }
  550. if âXâeü[âW=6{âXâeü[âW=0:goto *start
  551. }
  552. repeat 400
  553. color 255,255,255
  554. font "élérü@âSâVâbâN",40
  555. pos 350,300:mes "NOW LODING...."
  556. if âXâeü[âW=1{
  557. font "élérü@âSâVâbâN",70
  558. pos 90,30:mes "SECOND STAGE"
  559. pos 30,100:gcopy 15,0,0,321,185
  560. pos 320,100:gcopy 16,0,0,315,179
  561. pos 30,300:gcopy 17,0,0,300,150}
  562. if âXâeü[âW=0{
  563. font "élérü@âSâVâbâN",70
  564. pos 90,30:mes "FIRST STAGE"
  565. pos 30,100:gcopy 9,0,0,278,142
  566. pos 320,100:gcopy 10,0,0,291,181
  567. pos 30,300:gcopy 11,0,0,300,150}
  568. if âXâeü[âW=2{
  569. font "élérü@âSâVâbâN",70
  570. pos 90,30:mes "THIRD STAGE"
  571. pos 30,100:gcopy 18,0,0,328,204
  572. pos 320,100:gcopy 19,0,0,341,179
  573. pos 30,300:gcopy 20,0,0,300,150
  574. }
  575. if âXâeü[âW=3{
  576. font "élérü@âSâVâbâN",70
  577. pos 90,30:mes "FOUR STAGE"
  578. pos 30,100:gcopy 21,0,0,328,204
  579. pos 320,100:gcopy 22,0,0,341,179
  580. pos 30,300:gcopy 23,0,0,300,150
  581. }
  582. if âXâeü[âW=4{
  583. font "élérü@âSâVâbâN",70
  584. pos 90,30:mes "FIVE STAGE"
  585. pos 30,100:gcopy 24,0,0,328,204
  586. pos 320,100:gcopy 25,0,0,341,179
  587. pos 30,300:gcopy 26,0,0,300,150
  588. }
  589. if âXâeü[âW=5{
  590. font "élérü@âSâVâbâN",70
  591. pos 90,30:mes "FINAL STAGE"
  592. pos 30,100:gcopy 27,0,0,328,204
  593. pos 320,100:gcopy 28,0,0,341,179
  594. pos 30,300:gcopy 29,0,0,300,150
  595. }
  596. font "élérü@âSâVâbâN",25
  597. pos 400,400:mes "ÄcéΦâRâôâeâBâjâàü["+âRâôâeâBâjâàü[
  598. await 5
  599. loop
  600. cls 4
  601. *greset 
  602. gsel 2
  603. setborder 140.0f,140.0f,140.0f 
  604. hp=300:hp2=300 
  605. selang mychr:objset1 1,0 
  606. selang mychr2:objset1 1,0 
  607. time=0:time2=0:time3=0:time4=0:zikan=1:time5=0
  608. if âXâeü[âW=0:snd 0
  609. if âXâeü[âW=1:snd 6
  610. if âXâeü[âW=2:snd 7
  611. if âXâeü[âW=3:snd 8
  612. if âXâeü[âW=4:snd 10
  613. if âXâeü[âW=5:snd 11
  614. *main 
  615.  
  616. repeat
  617. hgdraw
  618. drawf = stat
  619. gmode 2
  620. stick k,15,1 
  621. if k&128 : goto *owari 
  622. my=mychr:myball=ball1:mycl=4:gosub *keymove 
  623. if lani!=myanim : lani=myanim : objact my,lani 
  624. if âXâeü[âW=0{if damage : hp-30 : if hp<0 : goto *dead 
  625. }
  626. if âXâeü[âW=1{if damage : hp-30 : if hp<0 : goto *dead 
  627. if âXâeü[âW=2{if damage : hp-35 : if hp<0 : goto *dead 
  628. }
  629. if âXâeü[âW=3{if damage : hp-25 : if hp<0 : goto *dead 
  630. }
  631. if âXâeü[âW=4{if damage : hp-10 : if hp<0 : goto *dead 
  632. }
  633. if âXâeü[âW=5{
  634. if time3>200{
  635. if time3<400{
  636. if damage : hp-10 : if hp<0 : goto *dead 
  637. }}}
  638. if âXâeü[âW=5{
  639. if time3>400{
  640. if time3<800{
  641. if damage : hp-5 : if hp<0 : goto *dead 
  642. }}}
  643. my=mychr2:myball=ball2:mycl=8:gosub *keymove2
  644. if lani2!=myanim : lani2=myanim : objact my,lani2 
  645. if âXâeü[âW=0{if damage : hp2-20 : if hp2<0 : goto *dead 
  646. }
  647. if âXâeü[âW=1{if damage : hp2-15 : if hp2<0 : goto *dead
  648. }
  649. if âXâeü[âW=2{if damage : hp2-10 : if hp2<0 : goto *dead
  650. }
  651. if âXâeü[âW=3{if damage : hp2-20 : if hp2<0 : goto *dead
  652. }
  653. if âXâeü[âW=4{if damage : hp2-13 : if hp2<0 : goto *dead
  654. }
  655. if âXâeü[âW=5{if damage : hp2-5 : if hp2<0 : goto *dead
  656. }
  657. if drawf{
  658. redraw 0
  659. pos 5,15:gcopy 5,0,0,300,80
  660. pos 11,43:gcopy 4,0,0,hp-12,46
  661. pos 320,15:gcopy 7,0,0,300,80
  662. pos 326,42:gcopy 6,0,0,hp2-12,46
  663. redraw 1
  664. }
  665. time+1:time2+1:time3+1:time4+1:time5+1
  666. if time>200 :time4=0
  667. rnd r, 7
  668. r = 3 - r 
  669. fvseti fv8, r
  670. fvmul fv8, 0.05f 
  671. Ä₧è╘+1
  672. hgsync speed
  673. if zikan=1{    
  674. pos 150,200:gcopy 14,0,0,300,100
  675. zikan=0:wait 300}
  676. loop
  677. *keymove 
  678.  
  679. damage=0:getcoli a,my,2.0f 
  680. if a!=-1 : damage=10 
  681. if a!=-1 : snd 3    
  682. if a!=-1 : {selpos a :objgetfv po
  683. regobj ob,mdex, 16
  684. selpos ob :objsetfv po
  685. }
  686. if a!=-1 :delobj a
  687.  
  688. selpos my 
  689. objgetv fv:mx=fv.0:mz=fv.2 
  690. if k&16 : gosub *myshot
  691. if k&1 : gosub *mymov 
  692. if k&4 : gosub *mymov 
  693. if k&2 : gosub *mymov 
  694. if k&8 : gosub *mymov 
  695. return 
  696. *keymove2
  697. selpos my 
  698. objgetv fv:mx=fv.0:mz=fv.2 
  699. if âXâeü[âW=0:if time3>70: gosub *myshot2
  700. if âXâeü[âW=1:if time3>70: gosub *myshot2
  701. if âXâeü[âW=2:if time3>80: gosub *myshot2
  702. if âXâeü[âW=3:if time3>98: gosub *myshot2
  703. if âXâeü[âW=4:if time3>20: gosub *myshot2
  704. if âXâeü[âW=5{if time3>200:if time3<400:if time5>5: gosub *myshot2
  705. }
  706. if âXâeü[âW=5{if time3>430:if time3<800:myball=ball3:if time5>3:fv8=0.0f: gosub *myshot2
  707. }
  708.  
  709. if âXâeü[âW=0{damage=0:getcoli a,my,2.0f 
  710. }
  711. if âXâeü[âW=1{damage=0:getcoli a,my,2.0f 
  712. }
  713. if âXâeü[âW=2{damage=0:getcoli a,my,2.0f 
  714. }
  715. if âXâeü[âW=3{damage=0:getcoli a,my,2.0f 
  716. }
  717. if âXâeü[âW=4{damage=0:getcoli a,my,2.0f 
  718. }
  719. if âXâeü[âW=5{damage=0:getcoli a,my,20.0f 
  720. }
  721. if a!=-1 : damage=10 
  722. if a!=-1 : snd 3    
  723. if a!=-1 : {selpos a :objgetfv po
  724. regobj ob,mdex, 16
  725. selpos ob :objsetfv po
  726. }
  727. if a!=-1 :delobj a
  728. if âXâeü[âW=0:if time3>70:time3=0
  729. if âXâeü[âW=1:if time3>70:time3=0
  730. if âXâeü[âW=2:if time3>80:time3=0
  731. if âXâeü[âW=3:if time3>100:time3=0
  732. if âXâeü[âW=4:if time3>20:time3=0
  733. if âXâeü[âW=5:if time3>800:time3=0
  734. if myball=ball2{if time5>5:time5=0
  735. }
  736. if myball=ball3{if time5>3:time5=0
  737. }
  738. gosub *ôGê┌ô«
  739. return 
  740. *ôGê┌ô«
  741.  
  742. selpos mychr2
  743. objgetfv posenemy
  744. selpos mychr
  745. objgetfv posme
  746.  
  747.  
  748. fvface posenemy, posme.0, posme.1, posme.2
  749. selang mychr2
  750. objsetfv posenemy
  751.  
  752.  
  753. selpos mychr2
  754. objgetfv posenemy
  755. fvsub posme, posenemy.0, posenemy.1, posenemy.2
  756. fvdiv posme, 400f, 400f, 400f
  757. seldir mychr2
  758. objsetfv posme
  759.  
  760. *mymov 
  761. speed=20
  762. if k&2{
  763. if time2>20{
  764. selpos my :objgetfv po
  765. regobj ob,mdey, 16
  766. selpos ob :objsetfv po
  767. time2=0
  768. }}
  769.  
  770. selpos mychr 
  771. objgetfv fv 
  772. selang mychr 
  773. if k&1 : objaddf1 1,-0.008f
  774. if k&4 : objaddf1 1,0.008f
  775. if k&2 { 
  776. objgetfv fv2 
  777. fvdir fv2,0.0f,0.0f,0.12f 
  778. fvadd fv,fv2.0,fv2.1,fv2.2 
  779. if k&8 { 
  780. objgetfv fv2 
  781. fvdir fv2,0.0f,0.0f,-0.1f 
  782. fvadd fv,fv2.0,fv2.1,fv2.2 
  783. fvmin fv, -70.0f, -70.0f, -70.0f 
  784. fvmax fv, 70.0f, 70.0f, 70.0f 
  785. selpos mychr 
  786. objsetfv fv 
  787.  
  788. selang mychr 
  789. objgetfv fv_cang 
  790. fvadd fv_cang,0.0f, 34.6f, 0.0f 
  791. fvmul fv_cang,1.0f,-1.0f, 1.0f 
  792. selcang : objsetfv fv_cang 
  793.  
  794. selpos mychr 
  795. objgetfv fv_cpos 
  796. fvset fv_wk,0.0f,0.0f,0.0f 
  797. fsin fv_wk.0,fv_cang.1 
  798. fcos fv_wk.2,fv_cang.1 
  799. fvmul fv_wk,10.0f,1.0f,10.0f 
  800. selcpos 
  801. objsetfv fv_cpos 
  802. objaddfv fv_wk 
  803. objaddf3 0.0f,-3.3f,0.0f 
  804. return 
  805. *myshot 
  806.  
  807. if time>45 {
  808. regobj shot,myball, 4| $80| 32 
  809. setcoli shot,mycl,0 
  810. selpos shot:objsetv fv 
  811. selang my:objgetfv fv 
  812. fvdir fv,0.0f,0.0f,1.4f 
  813. seldir shot:objsetfv fv 
  814. snd 4 
  815. time=0
  816. }
  817. return 
  818. *myshot2 
  819.  
  820. rnd ran,8
  821. regobj shot,myball, 4| $80| 32 
  822. setcoli shot,mycl,0 
  823. selpos shot:objsetv fv 
  824. selang my:objgetfv fv 
  825. if âXâeü[âW=0{fvdir fv,fv8,0.0f,-1.2f
  826. }
  827. if âXâeü[âW=1{fvdir fv,fv8,0.0f,-1.6f
  828. }
  829. if âXâeü[âW=2{fvdir fv,fv8,0.0f,-1.4f
  830. }
  831. if âXâeü[âW=3{fvdir fv,fv8,0.0f,-1.3f
  832. }
  833. if âXâeü[âW=4{fvdir fv,fv8,0.0f,-1.4f
  834. }
  835. if âXâeü[âW=5{
  836. fvdir fv,fv8,0.0f,-1.4f
  837. }
  838. seldir shot:objsetfv fv 
  839. snd 4
  840. return 
  841. *dead 
  842.  
  843. zx=0
  844. repeat 400
  845. zx+1
  846. if zx>100:zx=100
  847. hgdraw
  848. if hp<0{pos 150,200:gcopy 13,0,0,300,zx
  849. selpos my :objgetfv po
  850. regobj ob,mdez, 16
  851. selpos ob :objsetfv po
  852. delobj mychr}
  853. if hp2<0{pos 150,200:gcopy 12,0,0,300,zx
  854. selpos my :objgetfv po
  855. regobj ob,mdez, 16
  856. selpos ob :objsetfv po
  857. delobj mychr2}
  858. hgsync speed 
  859. stick k,15,1:if k&128 : goto *owari 
  860. selang my:objaddf1 1,0.2f 
  861. delobj my
  862. loop
  863. if hp<0{âRâôâeâBâjâàü[-1:goto *start
  864. }
  865. if hp2<0{âXâeü[âW+1:goto *start
  866. }
  867. goto *start
  868. *owari 
  869. hgbye 
  870. end
  871.